// app.js

import localConfigs from "./config"

App({
  onLaunch() {
    wx.getSystemInfo({
      success: e => {
        this.globalData.StatusBar = e.statusBarHeight;
        let custom = wx.getMenuButtonBoundingClientRect();
        this.globalData.Custom = custom;  
        this.globalData.CustomBar = custom.bottom + custom.top - e.statusBarHeight;
      }
    })
  },
  globalData: {
    // userInfo: null,      // 用户信息
    // StatusBar: 0,        // 状态栏高度（默认设为 0）
    // Custom: ['bottom', 'top']  // 自定义字段（使用字符串或预定义变量）
  },

  //获取配置（ 环境变量）(根据config.js)
  getConfig(key = ""){
    if(key === ""){
      return localConfigs;
    }
    //不存在配置()
    if(!localConfigs[key]){
      console.warn(`${key}不存在！`);
      return undefined;
    }
    //配置是否区分环境
    if(typeof localConfigs[key] === "object" && typeof localConfigs[key] !== null){
      //获取当前配置
       const env = this.getConfig("env")//获取当前接口
       return localConfigs[key][env]
       {
      //在代码 return localConfigs[key][env] 中，具体含义是：
      // ​**localConfigs[key]**​
      // 首先获取 localConfigs 对象中 key 对应的值。根据 config.js 的配置，key 可能是 "baseUrl" 或其他键。
      // 例如：localConfigs["baseUrl"] 会返回：
      // js
      // 复制
      // {
      //   develop: 'http://localhost:3000',
      //   production: '线上'
      // }
      // ​**[env]**​
      // 然后用 env（当前环境变量）作为属性名，从第一步的结果中进一步取值。
      // 如果 env === "develop"，则返回 'http://localhost:3000'；
      // 如果 env === "production"，则返回 '线上'。
    }
    }
    return localConfigs[key]

  }

})
